<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Firmata firmware for Arduino: firmata::FirmataClass Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Firmata firmware for Arduino
   </div>
   <div id="projectbrief">Firmata is a protocol for communicating with microcontrollers from software on a host computer</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><b>firmata</b></li><li class="navelem"><a class="el" href="classfirmata_1_1_firmata_class.html">FirmataClass</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classfirmata_1_1_firmata_class-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">firmata::FirmataClass Class Reference</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a3e5ee128a6c5054863dc7718d7a1f285"><td class="memItemLeft" align="right" valign="top"><a id="a3e5ee128a6c5054863dc7718d7a1f285"></a>
typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><b>callbackFunction</b>) (uint8_t, int)</td></tr>
<tr class="separator:a3e5ee128a6c5054863dc7718d7a1f285"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0a7eb3dbe1432de1727d9f14b5b1dab"><td class="memItemLeft" align="right" valign="top"><a id="af0a7eb3dbe1432de1727d9f14b5b1dab"></a>
typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><b>systemCallbackFunction</b>) (void)</td></tr>
<tr class="separator:af0a7eb3dbe1432de1727d9f14b5b1dab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb5aa833e160037296f447ac208c95c1"><td class="memItemLeft" align="right" valign="top"><a id="afb5aa833e160037296f447ac208c95c1"></a>
typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><b>stringCallbackFunction</b>) (char *)</td></tr>
<tr class="separator:afb5aa833e160037296f447ac208c95c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7c5e806cee9fd7dfe3600525f86c595"><td class="memItemLeft" align="right" valign="top"><a id="ab7c5e806cee9fd7dfe3600525f86c595"></a>
typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><b>sysexCallbackFunction</b>) (uint8_t command, uint8_t argc, uint8_t *argv)</td></tr>
<tr class="separator:ab7c5e806cee9fd7dfe3600525f86c595"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a75b035ab8d96d87d28deeb87badfe11a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfirmata_1_1_firmata_class.html#a75b035ab8d96d87d28deeb87badfe11a">FirmataClass</a> ()</td></tr>
<tr class="separator:a75b035ab8d96d87d28deeb87badfe11a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2fddcc643892bec2f4aa7aef6dba70eb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfirmata_1_1_firmata_class.html#a2fddcc643892bec2f4aa7aef6dba70eb">begin</a> ()</td></tr>
<tr class="separator:a2fddcc643892bec2f4aa7aef6dba70eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0b7b837d2c32b4ce79e62895ced2731"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfirmata_1_1_firmata_class.html#ab0b7b837d2c32b4ce79e62895ced2731">begin</a> (long)</td></tr>
<tr class="separator:ab0b7b837d2c32b4ce79e62895ced2731"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c7b0e10168e3c5dc6442d77c65a156e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfirmata_1_1_firmata_class.html#a0c7b0e10168e3c5dc6442d77c65a156e">begin</a> (Stream &amp;s)</td></tr>
<tr class="separator:a0c7b0e10168e3c5dc6442d77c65a156e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd8a0370db6d9e923e7e3d5836e78d7a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfirmata_1_1_firmata_class.html#abd8a0370db6d9e923e7e3d5836e78d7a">printVersion</a> (void)</td></tr>
<tr class="separator:abd8a0370db6d9e923e7e3d5836e78d7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9421550f2501fc1df60fd174b154e606"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfirmata_1_1_firmata_class.html#a9421550f2501fc1df60fd174b154e606">blinkVersion</a> (void)</td></tr>
<tr class="separator:a9421550f2501fc1df60fd174b154e606"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe49261eab0bd4892a09fa8b8980b11a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfirmata_1_1_firmata_class.html#abe49261eab0bd4892a09fa8b8980b11a">printFirmwareVersion</a> (void)</td></tr>
<tr class="separator:abe49261eab0bd4892a09fa8b8980b11a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7aa66b528027566c15b7d64c8cd0f89"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfirmata_1_1_firmata_class.html#ab7aa66b528027566c15b7d64c8cd0f89">setFirmwareNameAndVersion</a> (const char *name, byte major, byte minor)</td></tr>
<tr class="separator:ab7aa66b528027566c15b7d64c8cd0f89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ddba465c3772f841828ef82c79d4307"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfirmata_1_1_firmata_class.html#a5ddba465c3772f841828ef82c79d4307">disableBlinkVersion</a> ()</td></tr>
<tr class="separator:a5ddba465c3772f841828ef82c79d4307"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a119734b867186567c1cd011e52e59d2d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfirmata_1_1_firmata_class.html#a119734b867186567c1cd011e52e59d2d">available</a> (void)</td></tr>
<tr class="separator:a119734b867186567c1cd011e52e59d2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa698f5f5a234173d5eebb54831350676"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfirmata_1_1_firmata_class.html#aa698f5f5a234173d5eebb54831350676">processInput</a> (void)</td></tr>
<tr class="separator:aa698f5f5a234173d5eebb54831350676"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaeaac8b1f8facf070615b0035120c432"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfirmata_1_1_firmata_class.html#aaeaac8b1f8facf070615b0035120c432">parse</a> (unsigned char value)</td></tr>
<tr class="separator:aaeaac8b1f8facf070615b0035120c432"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58e9d787957c3085f22d33b59b1f6ea6"><td class="memItemLeft" align="right" valign="top">boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfirmata_1_1_firmata_class.html#a58e9d787957c3085f22d33b59b1f6ea6">isParsingMessage</a> (void)</td></tr>
<tr class="separator:a58e9d787957c3085f22d33b59b1f6ea6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae14e1d8d9bd72068f6e8ca07721e8dda"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfirmata_1_1_firmata_class.html#ae14e1d8d9bd72068f6e8ca07721e8dda">sendAnalog</a> (byte pin, int value)</td></tr>
<tr class="separator:ae14e1d8d9bd72068f6e8ca07721e8dda"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50a87e8339cf46fb787759603603e225"><td class="memItemLeft" align="right" valign="top"><a id="a50a87e8339cf46fb787759603603e225"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>sendDigital</b> (byte pin, int value)</td></tr>
<tr class="separator:a50a87e8339cf46fb787759603603e225"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a799b91e5a888dd21b066a2020d8e2b68"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfirmata_1_1_firmata_class.html#a799b91e5a888dd21b066a2020d8e2b68">sendDigitalPort</a> (byte portNumber, int portData)</td></tr>
<tr class="separator:a799b91e5a888dd21b066a2020d8e2b68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe11f621154afd308926129de349fc6e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfirmata_1_1_firmata_class.html#abe11f621154afd308926129de349fc6e">sendString</a> (const char *string)</td></tr>
<tr class="separator:abe11f621154afd308926129de349fc6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab139c0d784e69003c88eb5be8807dcdf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfirmata_1_1_firmata_class.html#ab139c0d784e69003c88eb5be8807dcdf">sendString</a> (byte command, const char *string)</td></tr>
<tr class="separator:ab139c0d784e69003c88eb5be8807dcdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81e2de5b37eb2372c8a3d9a43d5eb0cc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfirmata_1_1_firmata_class.html#a81e2de5b37eb2372c8a3d9a43d5eb0cc">sendSysex</a> (byte command, byte bytec, byte *bytev)</td></tr>
<tr class="separator:a81e2de5b37eb2372c8a3d9a43d5eb0cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8f29a829e17379602fcb9fd6a497807"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfirmata_1_1_firmata_class.html#ae8f29a829e17379602fcb9fd6a497807">write</a> (byte c)</td></tr>
<tr class="separator:ae8f29a829e17379602fcb9fd6a497807"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ae572e88ec810dd49516e53c5f32d2d"><td class="memItemLeft" align="right" valign="top"><a id="a1ae572e88ec810dd49516e53c5f32d2d"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>attach</b> (uint8_t command, callbackFunction newFunction)</td></tr>
<tr class="separator:a1ae572e88ec810dd49516e53c5f32d2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc3db897058f33e902097ce89bb01bb3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfirmata_1_1_firmata_class.html#adc3db897058f33e902097ce89bb01bb3">attach</a> (uint8_t command, systemCallbackFunction newFunction)</td></tr>
<tr class="separator:adc3db897058f33e902097ce89bb01bb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a074887a70f9aca0c0aae7e9bdc103f77"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfirmata_1_1_firmata_class.html#a074887a70f9aca0c0aae7e9bdc103f77">attach</a> (uint8_t command, stringCallbackFunction newFunction)</td></tr>
<tr class="separator:a074887a70f9aca0c0aae7e9bdc103f77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78e360c0c8d70cffeb9c935fdec23f77"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfirmata_1_1_firmata_class.html#a78e360c0c8d70cffeb9c935fdec23f77">attach</a> (uint8_t command, sysexCallbackFunction newFunction)</td></tr>
<tr class="separator:a78e360c0c8d70cffeb9c935fdec23f77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5db0faee74b9291d1b783d2dde0929d1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfirmata_1_1_firmata_class.html#a5db0faee74b9291d1b783d2dde0929d1">detach</a> (uint8_t command)</td></tr>
<tr class="separator:a5db0faee74b9291d1b783d2dde0929d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c434227456ce2ba97b3b1142c329f96"><td class="memItemLeft" align="right" valign="top">byte&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfirmata_1_1_firmata_class.html#a0c434227456ce2ba97b3b1142c329f96">getPinMode</a> (byte pin)</td></tr>
<tr class="separator:a0c434227456ce2ba97b3b1142c329f96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32c41dd94c1d23aa0e6d3d1dbe5c0c04"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfirmata_1_1_firmata_class.html#a32c41dd94c1d23aa0e6d3d1dbe5c0c04">setPinMode</a> (byte pin, byte config)</td></tr>
<tr class="separator:a32c41dd94c1d23aa0e6d3d1dbe5c0c04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf5d4f460b9a2298653d4a71de918dfe"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfirmata_1_1_firmata_class.html#acf5d4f460b9a2298653d4a71de918dfe">getPinState</a> (byte pin)</td></tr>
<tr class="separator:acf5d4f460b9a2298653d4a71de918dfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9f98ba5069823b4c1d08db9f8999ba8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfirmata_1_1_firmata_class.html#aa9f98ba5069823b4c1d08db9f8999ba8">setPinState</a> (byte pin, int state)</td></tr>
<tr class="separator:aa9f98ba5069823b4c1d08db9f8999ba8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a770e43f26f18204e43acebf9202a6d39"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfirmata_1_1_firmata_class.html#a770e43f26f18204e43acebf9202a6d39">sendValueAsTwo7bitBytes</a> (int value)</td></tr>
<tr class="separator:a770e43f26f18204e43acebf9202a6d39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3cc7ea1af348bca3ea0bd570314cada3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfirmata_1_1_firmata_class.html#a3cc7ea1af348bca3ea0bd570314cada3">startSysex</a> (void)</td></tr>
<tr class="separator:a3cc7ea1af348bca3ea0bd570314cada3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9bb68afbb1d37a7990f59a1d419e64c9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfirmata_1_1_firmata_class.html#a9bb68afbb1d37a7990f59a1d419e64c9">endSysex</a> (void)</td></tr>
<tr class="separator:a9bb68afbb1d37a7990f59a1d419e64c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a24ee418692c759b3093398218cd63a17"><td class="memItemLeft" align="right" valign="top"><a id="a24ee418692c759b3093398218cd63a17"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>FirmataMarshaller::encodeByteStream</b> (size_t bytec, uint8_t *bytev, size_t max_bytes=0) const</td></tr>
<tr class="separator:a24ee418692c759b3093398218cd63a17"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a75b035ab8d96d87d28deeb87badfe11a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a75b035ab8d96d87d28deeb87badfe11a">&#9670;&nbsp;</a></span>FirmataClass()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">FirmataClass::FirmataClass </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The Firmata class. An instance named "Firmata" is created automatically for the user. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a074887a70f9aca0c0aae7e9bdc103f77"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a074887a70f9aca0c0aae7e9bdc103f77">&#9670;&nbsp;</a></span>attach() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void FirmataClass::attach </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>command</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">stringCallbackFunction&#160;</td>
          <td class="paramname"><em>newFunction</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Attach a callback function for the STRING_DATA command. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">command</td><td>Must be set to STRING_DATA or it will be ignored. </td></tr>
    <tr><td class="paramname">newFunction</td><td>A reference to the string callback function to attach. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a78e360c0c8d70cffeb9c935fdec23f77"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a78e360c0c8d70cffeb9c935fdec23f77">&#9670;&nbsp;</a></span>attach() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void FirmataClass::attach </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>command</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">sysexCallbackFunction&#160;</td>
          <td class="paramname"><em>newFunction</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Attach a generic sysex callback function to sysex command. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">command</td><td>The ID of the command to attach a callback function to. </td></tr>
    <tr><td class="paramname">newFunction</td><td>A reference to the sysex callback function to attach. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="adc3db897058f33e902097ce89bb01bb3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adc3db897058f33e902097ce89bb01bb3">&#9670;&nbsp;</a></span>attach() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void FirmataClass::attach </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>command</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">systemCallbackFunction&#160;</td>
          <td class="paramname"><em>newFunction</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Attach a callback function for the SYSTEM_RESET command. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">command</td><td>Must be set to SYSTEM_RESET or it will be ignored. </td></tr>
    <tr><td class="paramname">newFunction</td><td>A reference to the system reset callback function to attach. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a119734b867186567c1cd011e52e59d2d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a119734b867186567c1cd011e52e59d2d">&#9670;&nbsp;</a></span>available()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int FirmataClass::available </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>A wrapper for Stream::available() </p><dl class="section return"><dt>Returns</dt><dd>The number of bytes remaining in the input stream buffer. </dd></dl>

</div>
</div>
<a id="a2fddcc643892bec2f4aa7aef6dba70eb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2fddcc643892bec2f4aa7aef6dba70eb">&#9670;&nbsp;</a></span>begin() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void FirmataClass::begin </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Initialize the default Serial transport at the default baud of 57600. </p>

</div>
</div>
<a id="ab0b7b837d2c32b4ce79e62895ced2731"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab0b7b837d2c32b4ce79e62895ced2731">&#9670;&nbsp;</a></span>begin() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void FirmataClass::begin </td>
          <td>(</td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>speed</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Initialize the default Serial transport and override the default baud. Sends the protocol version to the host application followed by the firmware version and name. blinkVersion is also called. To skip the call to blinkVersion, call Firmata.disableBlinkVersion() before calling Firmata.begin(baud). </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">speed</td><td>The baud to use. 57600 baud is the default value. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a0c7b0e10168e3c5dc6442d77c65a156e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c7b0e10168e3c5dc6442d77c65a156e">&#9670;&nbsp;</a></span>begin() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void FirmataClass::begin </td>
          <td>(</td>
          <td class="paramtype">Stream &amp;&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Reassign the Firmata stream transport. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">s</td><td>A reference to the Stream transport object. This can be any type of transport that implements the Stream interface. Some examples include Ethernet, WiFi and other UARTs on the board (Serial1, Serial2, etc). </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a9421550f2501fc1df60fd174b154e606"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9421550f2501fc1df60fd174b154e606">&#9670;&nbsp;</a></span>blinkVersion()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void FirmataClass::blinkVersion </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Blink the Firmata protocol version to the onboard LEDs (if the board has an onboard LED). If VERSION_BLINK_PIN is not defined in <a class="el" href="_boards_8h_source.html">Boards.h</a> for a particular board, then this method does nothing. The first series of flashes indicates the firmware major version (2 flashes = 2). The second series of flashes indicates the firmware minor version (5 flashes = 5). </p>

</div>
</div>
<a id="a5db0faee74b9291d1b783d2dde0929d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5db0faee74b9291d1b783d2dde0929d1">&#9670;&nbsp;</a></span>detach()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void FirmataClass::detach </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>command</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Detach a callback function for a specified command (such as SYSTEM_RESET, STRING_DATA, ANALOG_MESSAGE, DIGITAL_MESSAGE, etc). </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">command</td><td>The ID of the command to detatch the callback function from. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a5ddba465c3772f841828ef82c79d4307"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ddba465c3772f841828ef82c79d4307">&#9670;&nbsp;</a></span>disableBlinkVersion()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void FirmataClass::disableBlinkVersion </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Provides a means to disable the version blink sequence on the onboard LED, trimming startup time by a couple of seconds. Call this before Firmata.begin(). It only applies when using the default Serial transport. </p>

</div>
</div>
<a id="a9bb68afbb1d37a7990f59a1d419e64c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9bb68afbb1d37a7990f59a1d419e64c9">&#9670;&nbsp;</a></span>endSysex()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void FirmataClass::endSysex </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>A helper method to write the end of a Sysex message transmission. </p>

</div>
</div>
<a id="a0c434227456ce2ba97b3b1142c329f96"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c434227456ce2ba97b3b1142c329f96">&#9670;&nbsp;</a></span>getPinMode()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">byte FirmataClass::getPinMode </td>
          <td>(</td>
          <td class="paramtype">byte&#160;</td>
          <td class="paramname"><em>pin</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pin</td><td>The pin to get the configuration of. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The configuration of the specified pin. </dd></dl>

</div>
</div>
<a id="acf5d4f460b9a2298653d4a71de918dfe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf5d4f460b9a2298653d4a71de918dfe">&#9670;&nbsp;</a></span>getPinState()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int FirmataClass::getPinState </td>
          <td>(</td>
          <td class="paramtype">byte&#160;</td>
          <td class="paramname"><em>pin</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pin</td><td>The pin to get the state of. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The state of the specified pin. </dd></dl>

</div>
</div>
<a id="a58e9d787957c3085f22d33b59b1f6ea6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a58e9d787957c3085f22d33b59b1f6ea6">&#9670;&nbsp;</a></span>isParsingMessage()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">boolean FirmataClass::isParsingMessage </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Returns true if the parser is actively parsing data. </dd></dl>

</div>
</div>
<a id="aaeaac8b1f8facf070615b0035120c432"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaeaac8b1f8facf070615b0035120c432">&#9670;&nbsp;</a></span>parse()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void FirmataClass::parse </td>
          <td>(</td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Parse data from the input stream. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">inputData</td><td>A single byte to be added to the parser. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="abe49261eab0bd4892a09fa8b8980b11a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe49261eab0bd4892a09fa8b8980b11a">&#9670;&nbsp;</a></span>printFirmwareVersion()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void FirmataClass::printFirmwareVersion </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Sends the firmware name and version to the Firmata host application. The major and minor version numbers are the first 2 bytes in the message. The following bytes are the characters of the firmware name. </p>

</div>
</div>
<a id="abd8a0370db6d9e923e7e3d5836e78d7a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abd8a0370db6d9e923e7e3d5836e78d7a">&#9670;&nbsp;</a></span>printVersion()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void FirmataClass::printVersion </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Send the Firmata protocol version to the Firmata host application. </p>

</div>
</div>
<a id="aa698f5f5a234173d5eebb54831350676"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa698f5f5a234173d5eebb54831350676">&#9670;&nbsp;</a></span>processInput()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void FirmataClass::processInput </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Read a single int from the input stream. If the value is not = -1, pass it on to parse(byte) </p>

</div>
</div>
<a id="ae14e1d8d9bd72068f6e8ca07721e8dda"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae14e1d8d9bd72068f6e8ca07721e8dda">&#9670;&nbsp;</a></span>sendAnalog()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void FirmataClass::sendAnalog </td>
          <td>(</td>
          <td class="paramtype">byte&#160;</td>
          <td class="paramname"><em>pin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Send an analog message to the Firmata host application. The range of pins is limited to [0..15] when using the ANALOG_MESSAGE. The maximum value of the ANALOG_MESSAGE is limited to 14 bits (16384). To increase the pin range or value, see the documentation for the EXTENDED_ANALOG message. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pin</td><td>The analog pin to send the value of (limited to pins 0 - 15). </td></tr>
    <tr><td class="paramname">value</td><td>The value of the analog pin (0 - 1024 for 10-bit analog, 0 - 4096 for 12-bit, etc). The maximum value is 14-bits (16384). </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a799b91e5a888dd21b066a2020d8e2b68"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a799b91e5a888dd21b066a2020d8e2b68">&#9670;&nbsp;</a></span>sendDigitalPort()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void FirmataClass::sendDigitalPort </td>
          <td>(</td>
          <td class="paramtype">byte&#160;</td>
          <td class="paramname"><em>portNumber</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>portData</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Send an 8-bit port in a single digital message (protocol v2 and later). Send 14-bits in a single digital message (protocol v1). </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">portNumber</td><td>The port number to send. Note that this is not the same as a "port" on the physical microcontroller. Ports are defined in order per every 8 pins in ascending order of the Arduino digital pin numbering scheme. Port 0 = pins D0 - D7, port 1 = pins D8 - D15, etc. </td></tr>
    <tr><td class="paramname">portData</td><td>The value of the port. The value of each pin in the port is represented by a bit. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ab139c0d784e69003c88eb5be8807dcdf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab139c0d784e69003c88eb5be8807dcdf">&#9670;&nbsp;</a></span>sendString() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void FirmataClass::sendString </td>
          <td>(</td>
          <td class="paramtype">byte&#160;</td>
          <td class="paramname"><em>command</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>string</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Send a string to the Firmata host application. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">command</td><td>Must be STRING_DATA </td></tr>
    <tr><td class="paramname">string</td><td>A pointer to the char string </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="abe11f621154afd308926129de349fc6e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe11f621154afd308926129de349fc6e">&#9670;&nbsp;</a></span>sendString() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void FirmataClass::sendString </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>string</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Send a string to the Firmata host application. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">string</td><td>A pointer to the char string </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a81e2de5b37eb2372c8a3d9a43d5eb0cc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a81e2de5b37eb2372c8a3d9a43d5eb0cc">&#9670;&nbsp;</a></span>sendSysex()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void FirmataClass::sendSysex </td>
          <td>(</td>
          <td class="paramtype">byte&#160;</td>
          <td class="paramname"><em>command</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">byte&#160;</td>
          <td class="paramname"><em>bytec</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">byte *&#160;</td>
          <td class="paramname"><em>bytev</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Send a sysex message where all values after the command byte are packet as 2 7-bit bytes (this is not always the case so this function is not always used to send sysex messages). </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">command</td><td>The sysex command byte. </td></tr>
    <tr><td class="paramname">bytec</td><td>The number of data bytes in the message (excludes start, command and end bytes). </td></tr>
    <tr><td class="paramname">bytev</td><td>A pointer to the array of data bytes to send in the message. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a770e43f26f18204e43acebf9202a6d39"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a770e43f26f18204e43acebf9202a6d39">&#9670;&nbsp;</a></span>sendValueAsTwo7bitBytes()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void FirmataClass::sendValueAsTwo7bitBytes </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Split a 16-bit byte into two 7-bit values and write each value. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">value</td><td>The 16-bit value to be split and written separately. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ab7aa66b528027566c15b7d64c8cd0f89"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab7aa66b528027566c15b7d64c8cd0f89">&#9670;&nbsp;</a></span>setFirmwareNameAndVersion()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void FirmataClass::setFirmwareNameAndVersion </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">byte&#160;</td>
          <td class="paramname"><em>major</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">byte&#160;</td>
          <td class="paramname"><em>minor</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Sets the name and version of the firmware. This is not the same version as the Firmata protocol (although at times the firmware version and protocol version may be the same number). </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>A pointer to the name char array </td></tr>
    <tr><td class="paramname">major</td><td>The major version number </td></tr>
    <tr><td class="paramname">minor</td><td>The minor version number </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a32c41dd94c1d23aa0e6d3d1dbe5c0c04"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a32c41dd94c1d23aa0e6d3d1dbe5c0c04">&#9670;&nbsp;</a></span>setPinMode()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void FirmataClass::setPinMode </td>
          <td>(</td>
          <td class="paramtype">byte&#160;</td>
          <td class="paramname"><em>pin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">byte&#160;</td>
          <td class="paramname"><em>config</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set the pin mode/configuration. The pin configuration (or mode) in Firmata represents the current function of the pin. Examples are digital input or output, analog input, pwm, i2c, serial (uart), etc. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pin</td><td>The pin to configure. </td></tr>
    <tr><td class="paramname">config</td><td>The configuration value for the specified pin. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="aa9f98ba5069823b4c1d08db9f8999ba8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa9f98ba5069823b4c1d08db9f8999ba8">&#9670;&nbsp;</a></span>setPinState()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void FirmataClass::setPinState </td>
          <td>(</td>
          <td class="paramtype">byte&#160;</td>
          <td class="paramname"><em>pin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set the pin state. The pin state of an output pin is the pin value. The state of an input pin is 0, unless the pin has it's internal pull up resistor enabled, then the value is 1. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pin</td><td>The pin to set the state of </td></tr>
    <tr><td class="paramname">state</td><td>Set the state of the specified pin </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a3cc7ea1af348bca3ea0bd570314cada3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3cc7ea1af348bca3ea0bd570314cada3">&#9670;&nbsp;</a></span>startSysex()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void FirmataClass::startSysex </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>A helper method to write the beginning of a Sysex message transmission. </p>

</div>
</div>
<a id="ae8f29a829e17379602fcb9fd6a497807"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae8f29a829e17379602fcb9fd6a497807">&#9670;&nbsp;</a></span>write()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void FirmataClass::write </td>
          <td>(</td>
          <td class="paramtype">byte&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>A wrapper for Stream::available(). Write a single byte to the output stream. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">c</td><td>The byte to be written. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="_firmata_8h_source.html">Firmata.h</a></li>
<li>Firmata.cpp</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>
</body>
</html>
